This page last changed on Mar 24, 2008 by skim.

Issues

  • What are those 'non-project' directories in cvs? In other words, what makes a project go under "projects"?
    answer: ?
  • Related to the above, there are multiple svn repositories in otto. Is only svn/projecs our target?
    answer: ?
  • Everything at once or incremental/sporadic?
    answer: must add to the existing repositories, so incremental approach is relevant in any case.
  • Layout of the new repository?
    answer: Proposed layout: Layout of svn repository

Problems

Problem:

ERROR: '/Users/skim/sk/proj/cvs2svn/cvs/CodeBank/Concord/src/org/concord/mw2d/images/Thermometer.gif,v' is not a valid ,v file

Solution: remove the file from cvs. It doesn't show to cvs client anyway.

Problem:

ERROR: It is not clear how the following symbols should be converted.
Use --force-tag, --force-branch, --exclude, and/or --symbol-default to
resolve the ambiguity.
'fall2004mac' is a tag in 338 files, a branch in 1 files and has commits in 1 files
'moLo' is a tag in 164 files, a branch in 3 files and has commits in 3 files
'molecularWorkbench' is a tag in 204 files, a branch in 18 files and has commits in 18 files
'ccAtoms' is a tag in 60 files, a branch in 2 files and has commits in 2 files

Solution: force them to be branches. Was gonna force to tags, but it turns out it's impossible when there's more than one commit for them.

Problem:

ERROR: svnadmin failed with the following output while loading the dumpfile:
svnadmin: File already exists: filesystem '/Users/skim/sk/proj/cvs2svn/svn/projects/db', transaction '852-2', path 'trunk'

Solution: cvs2svn can't do anything about it when the repository pre-exists. Will try dump first and run "svnadmin load" and see how it goes.

Problem:

svn: Failed to add directory 'branches/cc': object of the same name already exists

conflict: cc and CC under /branches
Solution: ?

Setup

Install cvs2svn.
Add path of cvs2svn_rcsparse to PYTHONPATH.

Execution plan

From: otto:/home/buildspace/CodeBank/Projects
To: otto:/home/subversion/projects
fs-type: fsfs

  1. Freeze repositories (cvs AND svn)
  2. Get a copy of cvs repository
    cp -ra CodeBank CodeBank.old
  3. Re-organize CodeBank.new
    rehash_cvs CodeBank.old CodeBank.new/projects
    remove workbench (it'll be moved later)
    cp -ra CodeBank.old/CVSROOT CodeBank.new/
  4. Verify options and run cvs2svn to create projects.dump
    cvs2svn --options=options
  5. Backup svn repository
    cp -rap projects projects.backup
  6. Create /temp on svn and move existing entries under temp
  7. Load dump from cvs2svn
    svnadmin load $(SVNREPOS) < projects.dump
  8. Move the entries under /temp back to proper places
  9. Check out the whole repository and update names in .project, .classpath, and launchers.
  10. Modify otrunk-ide/eclipse/OTrunkProjectSet.psf.
  11. Modify pom.xml files.
  12. Check back in.
  13. Unlock svn

Moving Molecular Workbench

Re: TSC:Charles UDL Tasks Feb 2008, MW is the last project left in CVS/projects.

1. Create the options file (options_mw) from options from above.
Make sure the projects go under /temp of the repository initially. /temp must not exist at the time of loading:

ctx.add_project(
    Project(
        r'/home/skim/proj/cvs2svn/mw2/CodeBank/projects',
        'temp/mw-support/trunk',
        'temp/mw-support/branches',
        'temp/mw-support/tags',
        )
    )

2.

$ mkdir CodeBank
$ cd CodeBank
$ cp -ra /home/buildspace/CodeBank/CVSROOT .
$ mkdir -p projects/common/java/simulations
$ cd projects/common/java/simulations
$ cp -ra /home/buildspace/CodeBank/Projects/MW mw
$ cvs2svn --options=options_mw
$ cp -rap /home/subversion/projects projects.backup  ##Backup /home/subverision/projects
$ svnadmin load /home/subversion/projects < projects.dump

3. Cleanup (#9 through #12) above.

Document generated by Confluence on Jan 27, 2014 16:52